package Model;

import Controller.Controller;
import com.google.api.client.googleapis.media.MediaHttpUploader;
import com.google.api.client.googleapis.media.MediaHttpUploaderProgressListener;
import java.io.IOException;
/**
 * Klasa słuchacza do aktualizowania postępu wysyłania plików.
 * @param controller - referencja na kontroler
 * @param filename - nazwa pliku
 */
public class FileUploadProgressListener implements MediaHttpUploaderProgressListener {

 private Controller controller;
 private String filename;
 
 public FileUploadProgressListener(Controller controller, String filename) {
     this.controller = controller;
     this.filename = filename;
 }
 /**
  * Aktualizuje postęp wysyłania pliku.
  * @param uploader - referencja na applet do wysyłania plikow.
  * @throws IOException 
  */
  @Override
 public void progressChanged(MediaHttpUploader uploader) throws IOException {
      
      switch (uploader.getUploadState()) {
        case MEDIA_IN_PROGRESS:
           controller.doUpdateUploadProgress(filename, (int)(uploader.getProgress() * 100) );
          break;
        case MEDIA_COMPLETE:
           controller.doUpdateUploadProgress(filename,100 );
    }

}
}


